home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Sprite 1984 - 1993
/
Sprite 1984 - 1993.iso
/
lib
/
tex
/
inputs
/
amstex.sty
(
.txt
)
< prev
next >
Wrap
LaTeX Document
|
1991-09-26
|
51KB
|
1,354 lines
%% This is file `amstex.sty' generated from `amstex.doc'
%% on 21-JUN-1991 by the docstrip.ams utility (1.0).
%%@texfile{%
%% filename="amstex.sty",
%% version="1.1",
%% date="21-JUN-1991",
%% filetype="AMS-LaTeX: option",
%% copyright="Copyright (C) American Mathematical Society, all rights
%% reserved. Copying of this file is authorized only if either:
%% (1) you make absolutely no changes to your copy, including name;
%% OR (2) if you do make changes, you first rename it to some other
%% name.",
%% author="American Mathematical Society",
%% address="American Mathematical Society,
%% Technical Support Group,
%% P. O. Box 6248,
%% Providence, RI 02940,
%% USA",
%% telephone="401-455-4080 or (in the USA) 800-321-4AMS",
%% email="Internet: Tech-Support@Math.AMS.com",
%% checksumtype="line count",
%% checksum="1372",
%% codetable="ISO/ASCII",
%% keywords="latex, amslatex, ams-latex, math, amstex, ams-tex",
%% abstract="This file is part of the AMS-\LaTeX{} package, ver. 1.1.
%% It is a \LaTeX{} option file that adapts most of the mathematical
%% macros of AMS-\TeX{} for use in \LaTeX{}. It is one of the main
%% parts of a package called `AMS-\LaTeX{}'."
\expandafter\ifx\csname amstex.sty\endcsname\relax
\expandafter\def\csname amstex.sty\endcsname{}
\else\message{---already loaded}\endinput\fi
\def\filename{amstex.sty}
\def\fileversion{1.1} \def\filedate{21-JUN-1991}
\immediate\write16{%
AMS-LaTeX option `\filename' (\fileversion, \filedate)}
%%% end of file header
\input{amstext.sty} % AMS \text macro
\input{amsfonts.sty} % AMS font specific stuff
\input{amsbsy.sty} % AMS \boldsymbol
\def\FN@{\futurelet\next}
\def\DN@{\def\next@}
\def\RIfM@{\relax\protect\ifmmode}
\def\setboxz@h{\setbox\z@\hbox}
\def\wdz@{\wd\z@}
\def\boxz@{\box\z@}
\def\setbox@ne{\setbox\@ne}
\def\wd@ne{\wd\@ne}
\def\relaxnext@{\let\next\relax}
\def\iterate{\body\expandafter\iterate\else\fi}
\long\def\@leftmark#1#2{#1}
\long\def\@rightmark#1#2{#2}
\long\def\@ifempty#1{%
\expandafter\ifx\@car#1@\@nil @\@empty
\expandafter\@leftmark\else\expandafter\@rightmark\fi}
\long\def\@ifnotempty#1{\@ifempty{#1}{}}
\def\err@#1#2{\iffirstchoice@
\edef\@tempc{#2}\errhelp\expandafter{\@tempc}%
\typeout{^^JAmS-TeX error:}%
\errmessage{#1}\fi}
\def\nomath@env{\err@{\string\begin{\@currenvir}
allowed only in paragraph mode!}\@ehb}
\def\Invalid@@{Invalid use of \string}
\def\Invalid@#1{\def#1{\err@{\Invalid@@#1}\@eha}}
\def\atdef@#1{\expandafter\def\csname\space @\string#1\endcsname}
\begingroup \catcode`\@=\active
\xdef @{\expandafter\noexpand\csname FN\string @\endcsname
\expandafter\noexpand\csname at\string @\endcsname}
\endgroup
\def\at@{\let\next@\at@@
\ifcat\noexpand\next a\else
\ifcat\noexpand\next0\else
\ifcat\noexpand\next\relax\else
\let\next@\at@@@\fi\fi\fi\next@}
\def\at@@#1{\expandafter
\ifx\csname\space @\string#1\endcsname\relax
\DN@{\at@@@#1}%
\else
\DN@{\csname\space @\string#1\endcsname}%
\fi\next@}%
\def\at@@@{\err@{\Invalid@@ @}{\the\athelp@}\char64\relax}
\newhelp\athelp@
{Only certain combinations beginning with @ make sense to me.^^J%
I'll assume you wanted @@ for a printed @.}
\atdef@ @{\char64\relax}% to define @@
\def\makeatother{\catcode64\active}
{\def\@makeother{\noexpand\@makeother\noexpand}
\xdef\@sanitize{\@sanitize\@makeother\@}}
{\def\do{\noexpand\do\noexpand}
\xdef\dospecials{\dospecials\do\@}}
\atdef@,{\RIfM@\mskip.1\thinmuskip\protect\else
\protect\nonmatherr@{@,}\protect\fi}
\atdef@!{\RIfM@\mskip-.1\thinmuskip\protect\else
\protect\nonmatherr@{@!}\protect\fi}
\let\ic@\/
\def\/{\unskip\ic@}
\def~{\unskip\nobreak\ \ignorespaces}
\def\AmSTeX{\protect\AmS-\protect\TeX\@}
\def\AmS{{\protect\the\textfont\tw@
A\kern-.1667em\lower.5ex\hbox{M}\kern-.125emS}}
\def\nonmatherr@#1{\err@
{\string#1\space allowed only in math mode}\@ehd}
\def\@lb{\RIfM@\lbrace\else$\m@th\lbrace$\fi}
\def\@rb{\RIfM@\rbrace\else$\m@th\rbrace$\fi}
\def\slash{\unskip/\penalty\exhyphenpenalty}
\def\pr@m@s{\ifx'\next\DN@##1{\prim@s}\else\let\next@\egroup\fi\next@}
\def\prime{{\null\prime@\null}}
\mathchardef\prime@="0230
\def\,{\RIfM@\mskip\thinmuskip\protect\else\kern.16667em\protect\fi}
\def\!{\RIfM@\mskip-\thinmuskip\protect\else\kern-.16667em\protect\fi}
\let\thinspace\,
\let\negthinspace\!
\def\medspace{\RIfM@\mskip\medmuskip
\protect\else\kern.222222em\protect\fi}
\def\negmedspace{\RIfM@\mskip-\medmuskip
\protect\else\kern-.222222em\protect\fi}
\def\;{\RIfM@\mskip\thickmuskip\protect\else\kern.27777em\protect\fi}
\let\thickspace\;
\def\negthickspace{\RIfM@\mskip-\thickmuskip\protect\else
\kern-.27777em\protect\fi}
\def\And{\DOTSB\;\mathchar"3026 \;} %change%
\def\implies{\DOTSB\;\Longrightarrow\;}
\def\impliedby{\DOTSB\;\Longleftarrow\;}
\def\frac{\protect\pfrac}
\def\pfrac{\new@ifnextchar[\frac@{\frac@[\@empty]}}
\def\frac@[#1]#2#3{\relax\ifx\@empty#1{#2\over#3}\else
{#2\above#1\relax#3}\fi}
\def\fracwithdelims#1#2{\new@ifnextchar[{\fracwithdelims@#1#2}%
{\fracwithdelims@#1#2[\@empty]}}
\def\fracwithdelims@#1#2[#3]#4#5{\relax
\ifx\@empty#3{#4\overwithdelims#1#2#5}\else
{#4\abovewithdelims#1#2#3\relax#5}\fi}
\def\dfrac#1#2{{\displaystyle{#1\over#2}}}
\def\tfrac#1#2{{\textstyle{#1\over#2}}}
\def\binom#1#2{{#1\choose#2}}
\def\dbinom#1#2{{\displaystyle{#1\choose#2}}}
\def\tbinom#1#2{{\textstyle{#1\choose#2}}}
\def\colon{\nobreak\mskip2mu\mathpunct{}\nonscript
\mkern-\thinmuskip{:}\mskip6muplus1mu\relax}
\let\slimits@\displaylimits
\mathchardef\coprod@="1360 \def\coprod{\DOTSB\coprod@\slimits@}
\mathchardef\bigvee@="1357 \def\bigvee{\DOTSB\bigvee@\slimits@}
\mathchardef\bigwedge@="1356 \def\bigwedge{\DOTSB\bigwedge@\slimits@}
\mathchardef\biguplus@="1355 \def\biguplus{\DOTSB\biguplus@\slimits@}
\mathchardef\bigcap@="1354 \def\bigcap{\DOTSB\bigcap@\slimits@}
\mathchardef\bigcup@="1353 \def\bigcup{\DOTSB\bigcup@\slimits@}
\mathchardef\prod@="1351 \def\prod{\DOTSB\prod@\slimits@}
\mathchardef\sum@="1350 \def\sum{\DOTSB\sum@\slimits@}
\mathchardef\bigotimes@="134E \def\bigotimes{\DOTSB\bigotimes@\slimits@}
\mathchardef\bigoplus@="134C \def\bigoplus{\DOTSB\bigoplus@\slimits@}
\mathchardef\bigodot@="134A \def\bigodot{\DOTSB\bigodot@\slimits@}
\mathchardef\bigsqcup@="1346 \def\bigsqcup{\DOTSB\bigsqcup@\slimits@}
\let\ilimits@\nolimits
\def\int{\DOTSI\intop\ilimits@}
\def\oint{\DOTSI\ointop\ilimits@}
\def\intic@{%
\mathchoice{\hskip.5em}{\hskip.4em}{\hskip.4em}{\hskip.4em}}
\def\negintic@{\mathchoice
{\hskip-.5em}{\hskip-.4em}{\hskip-.4em}{\hskip-.4em}}
\def\intkern@{\mathchoice{\!\!\!}{\!\!}{\!\!}{\!\!}}
\def\intdots@{\mathchoice{\@cdots}
{{\cdotp}\mkern1.5mu{\cdotp}\mkern1.5mu{\cdotp}}
{{\cdotp}\mkern1mu{\cdotp}\mkern1mu{\cdotp}}
{{\cdotp}\mkern1mu{\cdotp}\mkern1mu{\cdotp}}}
\newcount\intno@
\def\iint{\DOTSI\intno@\tw@\FN@\ints@}
\def\iiint{\DOTSI\intno@\thr@@\FN@\ints@}
\def\iiiint{\DOTSI\intno@4 \FN@\ints@}
\def\idotsint{\DOTSI\intno@\z@\FN@\ints@}
\def\ints@{\findlimits@\ints@@}
\newif\iflimtoken@
\newif\iflimits@
\def\findlimits@{\limtoken@true\ifx\next\limits\limits@true
\else\ifx\next\nolimits\limits@false\else
\limtoken@false\ifx\ilimits@\nolimits\limits@false\else
\ifinner\limits@false\else\limits@true\fi\fi\fi\fi}
\def\multint@{\int\ifnum\intno@=\z@\intdots@
\else\intkern@\fi
\ifnum\intno@>\tw@\int\intkern@\fi
\ifnum\intno@>\thr@@\int\intkern@\fi
\int}
\def\multintlimits@{\intop\ifnum\intno@=\z@\intdots@
\else\intkern@\fi
\ifnum\intno@>\tw@\intop\intkern@\fi
\ifnum\intno@>\thr@@\intop\intkern@\fi\intop}
\def\ints@@{\iflimtoken@
\def\ints@@@{%
\iflimits@\negintic@\mathop{\intic@\multintlimits@}\limits
\else\multint@\nolimits\fi
\@gobble} %4
\else
\def\ints@@@{\iflimits@\negintic@
\mathop{\intic@\multintlimits@}\limits\else
\multint@\nolimits\fi}\fi\ints@@@}
\let\nlimits@\displaylimits
\def\nolimits@{\relaxnext@
\DN@{\ifx\next\limits\DN@\limits{\nolimits}\else
\let\next@\nolimits\fi\next@}%
\FN@\next@}
\def\newmcodes@{\mathcode`\'39\mathcode`\*42\mathcode`\."613A%
\mathcode`\-45\mathcode`\/47\mathcode`\:"603A\relax}
\def\operatorname#1{\mathop{\newmcodes@\kern\z@
\operator@font#1}\nolimits@}
\def\operatornamewithlimits#1{\mathop{\newmcodes@\kern\z@
\operator@font#1}\nlimits@}
\def\qopname@#1{\mathop{\operator@font#1}\nolimits@}
\def\qopnamewl@#1{\mathop{\operator@font#1}\nlimits@}
\def\arccos{\qopname@{arccos}}
\def\arcsin{\qopname@{arcsin}}
\def\arctan{\qopname@{arctan}}
\def\arg{\qopname@{arg}}
\def\cos{\qopname@{cos}}
\def\cosh{\qopname@{cosh}}
\def\cot{\qopname@{cot}}
\def\coth{\qopname@{coth}}
\def\csc{\qopname@{csc}}
\def\deg{\qopname@{deg}}
\def\det{\qopnamewl@{det}}
\def\dim{\qopname@{dim}}
\def\exp{\qopname@{exp}}
\def\gcd{\qopnamewl@{gcd}}
\def\hom{\qopname@{hom}}
\def\inf{\qopnamewl@{inf}}
\def\injlim{\qopnamewl@{inj\,lim}}
\def\ker{\qopname@{ker}}
\def\lg{\qopname@{lg}}
\def\lim{\qopnamewl@{lim}}
\def\liminf{\qopnamewl@{lim\,inf}}
\def\limsup{\qopnamewl@{lim\,sup}}
\def\ln{\qopname@{ln}}
\def\log{\qopname@{log}}
\def\max{\qopnamewl@{max}}
\def\min{\qopnamewl@{min}}
\def\Pr{\qopnamewl@{Pr}}
\def\projlim{\qopnamewl@{proj\,lim}}
\def\sec{\qopname@{sec}}
\def\sin{\qopname@{sin}}
\def\sinh{\qopname@{sinh}}
\def\sup{\qopnamewl@{sup}}
\def\tan{\qopname@{tan}}
\def\tanh{\qopname@{tanh}}
\def\varlim@#1#2{\mathop{\vtop{\ialign{##\crcr
\hfil$#1\m@th\operator@font lim$\hfil\crcr
\noalign{\nointerlineskip}#2#1\crcr
\noalign{\nointerlineskip\kern-\ex@}\crcr}}}}
\def\varinjlim{\mathpalette\varlim@\rightarrowfill@}
\def\varprojlim{\mathpalette\varlim@\leftarrowfill@}
\def\varliminf{\mathpalette\varliminf@{}}
\def\varliminf@#1{\mathop{\underline{\vrule\@depth.2\ex@\@width\z@
\hbox{$#1\m@th\operator@font lim$}}}}
\def\varlimsup{\mathpalette\varlimsup@{}}
\def\varlimsup@#1{\mathop{\overline
{\hbox{$#1\m@th\operator@font lim$}}}}
\newtoks\hashtoks@
\hashtoks@{#}
\def\pmatrix{\left(\matrix}
\def\endpmatrix{\endmatrix\right)}
\def\bmatrix{\left[\matrix}
\def\endbmatrix{\endmatrix\right]}
\def\vmatrix{\left|\matrix}
\def\endvmatrix{\endmatrix\right|}
\def\Vmatrix{\left\|\matrix}
\def\endVmatrix{\endmatrix\right\|}
\let\hdots\@ldots
\def\hdotsfor#1{\if\noexpand#1[\expandafter\shdots@for\else
\hdots@for\@ne{#1}\fi}
\def\shdots@for#1]{\hdots@for{#1}}
\def\hdots@for#1#2{\multicolumn{#2}c%
{\m@th\mkern-#1\dotsspace@
\xleaders\hbox{$\m@th\mkern#1\dotsspace@.\mkern#1\dotsspace@$}%
\hfill
\mkern-#1\dotsspace@}%
\def\numberwithin#1#2{\@ifundefined{c@#1}{\@nocnterrr}{%
\@ifundefined{c@#2}{\@nocnterr}{%
\@addtoreset{#1}{#2}%
\toks@\expandafter\expandafter\expandafter{\csname the#1\endcsname}%
\expandafter\xdef\csname the#1\endcsname
{\expandafter\noexpand\csname the#2\endcsname
.\the\toks@}}}}
\newif\ifctagsplit@
\def\bmod{\mskip-\medmuskip\mkern5mu\mathbin
{\operator@font mod}\penalty900
\mkern5mu\mskip-\medmuskip}
\def\pmod#1{\allowbreak\ifinner\mkern8mu\else\mkern18mu\fi
({\operator@font mod}\,\,#1)}
\def\pod#1{\allowbreak\ifinner\mkern8mu\else\mkern18mu\fi(#1)}
\def\mod#1{\allowbreak\ifinner\mkern12mu
\else\mkern18mu\fi{\operator@font mod}\,\,#1}
\def\cfrac#1#2{\dfrac{\strut#1}{#2}\kern-\nulldelimiterspace}
\def\lcfrac#1{\cfrac{#1\hfill}}
\def\rcfrac#1{\cfrac{\hfill#1}}
\def\overset#1#2{\binrel@{#2}%
\binrel@@{\mathop{\kern\z@#2}\limits^{#1}}}
\def\underset#1#2{\binrel@{#2}%
\binrel@@{\mathop{\kern\z@#2}\limits_{#1}}}
\def\sideset#1#2#3{%
\setbox@ne\hbox{$\displaystyle{\vphantom{#3}}#1{#3}\m@th$}%
\setbox\tw@\hbox{$\displaystyle{#3}#2\m@th$}%
\hskip\wd@ne\hskip-\wd\tw@\mathop{\hskip\wd\tw@\hskip-\wd@ne
{\vphantom{#3}}#1{#3}#2}}
\def\rightarrowfill@#1{\m@th\setboxz@h{$#1-$}\ht\z@\z@
$#1\copy\z@\mkern-6mu\cleaders
\hbox{$#1\mkern-2mu\box\z@\mkern-2mu$}\hfill
\mkern-6mu\mathord\rightarrow$}
\def\leftarrowfill@#1{\m@th\setboxz@h{$#1-$}\ht\z@\z@
$#1\mathord\leftarrow\mkern-6mu\cleaders
\hbox{$#1\mkern-2mu\copy\z@\mkern-2mu$}\hfill
\mkern-6mu\box\z@$}
\def\leftrightarrowfill@#1{\m@th\setboxz@h{$#1-$}\ht\z@\z@
$#1\mathord\leftarrow\mkern-6mu\cleaders
\hbox{$#1\mkern-2mu\box\z@\mkern-2mu$}\hfill
\mkern-6mu\mathord\rightarrow$}
\def\overarrow@#1#2#3{\vbox{\ialign{##\crcr#1#2\crcr
\noalign{\kern-\ex@\nointerlineskip}$\m@th\hfil#2#3\hfil$\crcr}}}
\def\overrightarrow{\mathpalette{\overarrow@\rightarrowfill@}}
\def\overleftarrow{\mathpalette{\overarrow@\leftarrowfill@}}
\def\overleftrightarrow{\mathpalette{\overarrow@\leftrightarrowfill@}}
\def\underarrow@#1#2#3{%
\vtop{\ialign{##\crcr$\m@th\hfil#2#3\hfil$\crcr
\noalign{\nointerlineskip\kern-.5\ex@}#1#2\crcr}}}
\def\underrightarrow{\mathpalette{\underarrow@\rightarrowfill@}}
\def\underleftarrow{\mathpalette{\underarrow@\leftarrowfill@}}
\def\underleftrightarrow{\mathpalette{\underarrow@\leftrightarrowfill@}}
\@ifundefined{amscd.sty}{%
\atdef@>#1>#2>{%
\global\bigaw@\minaw@
\setboxz@h{$\m@th\scriptstyle\;{#1}\;\;$}%
\ifdim\wdz@>\bigaw@ \global\bigaw@\wdz@ \fi
\@ifnotempty{#2}{\setbox@ne\hbox{$\m@th\scriptstyle\;{#2}\;\;$}%
\ifdim\wd@ne>\bigaw@ \global\bigaw@\wd@ne \fi}%
\mathrel{\mathop{\hbox to\bigaw@{\rightarrowfill@\displaystyle}}%
\limits^{#1}\@ifnotempty{#2}{_{#2}}}%
}% end of @>>>
\atdef@<#1<#2<{%
\global\bigaw@\minaw@
\setboxz@h{$\m@th\scriptstyle\;\;{#1}\;$}%
\ifdim\wdz@>\bigaw@ \global\bigaw@\wdz@ \fi
\@ifnotempty{#2}{\setbox@ne\hbox{$\m@th\scriptstyle\;\;{#2}\;$}%
\ifdim\wd@ne>\bigaw@ \global\bigaw@\wd@ne \fi}%
\mathrel{\mathop{\hbox to\bigaw@{\leftarrowfill@\displaystyle}}%
\limits^{#1}\@ifnotempty{#2}{_{#2}}}%
}% end of @<<<
}{}% end of \@ifundefined
\begingroup \catcode`\~=\active \lccode`\~=`\@
\lowercase{%
\global\atdef@)#1)#2){~>#1>#2>}
\global\atdef@(#1(#2({~<#1<#2<}
}% end lowercase
\endgroup
\@ifundefined{minaw@}{\newdimen\minaw@}{}
\minaw@11.11128\ex@
\@ifundefined{bigaw@}{\newdimen\bigaw@}{}
\let\ifgtest@\iffalse % initial value
\def\gtest@true{\global\let\ifgtest@\iftrue}
\def\gtest@false{\global\let\ifgtest@\iffalse}
\let\DOTSI\relax
\let\DOTSB\relax
\let\DOTSX\relax
{\uccode`7=`\\ \uccode`8=`m \uccode`9=`a \uccode`0=`t \uccode`!=`h
\uppercase{%
\gdef\math@#1#2#3#4#5#6\math@{\gtest@false\ifx 7#1\ifx 8#2%
\ifx 9#3\ifx 0#4\ifx !#5\xdef\meaning@{#6}\gtest@true
\fi\fi\fi\fi\fi}}}
{\uccode`7=`c \uccode`8=`h \uccode`9=`\"
\uppercase{\gdef\mathch@#1#2#3#4#5#6\mathch@{\gtest@false
\ifx 7#1\ifx 8#2\ifx 9#5\gtest@true\xdef\meaning@{9#6}\fi\fi\fi}}}
\newcount\classnum@
\def\getmathch@#1.#2\getmathch@{\classnum@#1 \divide\classnum@4096
\ifcase\number\classnum@\or\or\gdef\thedots@{\dotsb@}\or
\gdef\thedots@{\dotsb@}\fi}
{\uccode`4=`b \uccode`5=`i \uccode`6=`n
\uppercase{\gdef\mathbin@#1#2#3{\relaxnext@
\def\nextii@##1\mathbin@{\ifx\@sptoken\next\gtest@true\fi}%
\gtest@false\DN@##1\mathbin@{}%
\ifx 4#1\ifx 5#2\ifx 6#3\DN@{\FN@\nextii@}\fi\fi\fi\next@}}}
{\uccode`4=`r \uccode`5=`e \uccode`6=`l
\uppercase{\gdef\mathrel@#1#2#3{\relaxnext@
\def\nextii@##1\mathrel@{\ifx\@sptoken\next\gtest@true\fi}%
\gtest@false\DN@##1\mathrel@{}%
\ifx 4#1\ifx 5#2\ifx 6#3\DN@{\FN@\nextii@}\fi\fi\fi\next@}}}
{\uccode`5=`m \uccode`6=`a \uccode`7=`c
\uppercase{\gdef\macro@#1#2#3#4\macro@{\gtest@false
\ifx 5#1\ifx 6#2\ifx 7#3\gtest@true
\xdef\meaning@{\macro@@#4\macro@@}\fi\fi\fi}}}
\def\macro@@#1->#2\macro@@{#2}
\newcount\DOTSCASE@
{\uccode`6=`\\ \uccode`7=`D \uccode`8=`O \uccode`9=`T \uccode`0=`S
\uppercase{\gdef\DOTS@#1#2#3#4#5{\gtest@false\DN@##1\DOTS@{}%
\ifx 6#1\ifx 7#2\ifx 8#3\ifx 9#4\ifx 0#5\let\next@\DOTS@@
\fi\fi\fi\fi\fi
\next@}}}
{\uccode`3=`B \uccode`4=`I \uccode`5=`X
\uppercase{\gdef\DOTS@@#1{\relaxnext@
\def\nextii@##1\DOTS@{\ifx\@sptoken\next\gtest@true\fi}%
\DN@{\FN@\nextii@}%
\ifx 3#1\global\DOTSCASE@\z@\else
\ifx 4#1\global\DOTSCASE@\@ne\else
\ifx 5#1\global\DOTSCASE@\tw@\else\DN@##1\DOTS@{}%
\fi\fi\fi\next@}}}
{\uccode`5=`\\ \uccode`6=`n \uccode`7=`o \uccode`8=`t
\uppercase{\gdef\not@#1#2#3#4{\relaxnext@
\def\nextii@##1\not@{\ifx\@sptoken\next\gtest@true\fi}%
\gtest@false\DN@##1\not@{}%
\ifx 5#1\ifx 6#2\ifx 7#3\ifx 8#4\DN@{\FN@\nextii@}\fi\fi\fi
\fi\next@}}}
\def\keybin@{\gtest@true
\ifx\next+\else\ifx\next=\else\ifx\next<\else\ifx\next>\else
\ifx\next-\else
\ifx\next*\else\ifx\next:\else\gtest@false\fi\fi\fi\fi\fi\fi\fi}
\def\dots{\protect\pdots}
\def\pdots{\RIfM@\expandafter\mdots@\else\expandafter\tdots@\fi}
\def\tdots@{\unskip\relaxnext@
\DN@{$\m@th\@ldots\,
\ifx\next,\,$\else\ifx\next.\,$\else\ifx\next;\,$\else
\ifx\next:\,$\else
\ifx\next?\,$\else\ifx\next!\,$\else$ \fi\fi\fi\fi\fi\fi}%
\ \FN@\next@}
\def\mdots@{\FN@\mdots@@}
\def\mdots@@{\gdef\thedots@{\dotso@}%
\ifx\next\boldsymbol\gdef\thedots@\boldsymbol{\boldsymboldots@}\else
\ifx,\next\gdef\thedots@{\dotsc}%
\else\ifx\not\next\gdef\thedots@{\dotsb@}%
\else\keybin@
\ifgtest@\gdef\thedots@{\dotsb@}%
\else\xdef\meaning@{\meaning\next..........}\xdef\meaning@@{\meaning@}%
\expandafter\math@\meaning@\math@
\ifgtest@
\expandafter\mathch@\meaning@\mathch@
\ifgtest@\expandafter\getmathch@\meaning@\getmathch@\fi
\else\expandafter\macro@\meaning@@\macro@
\ifgtest@
\expandafter\not@\meaning@\not@\ifgtest@\gdef\thedots@{\dotsb@}%
\else\expandafter\DOTS@\meaning@\DOTS@
\ifgtest@
\ifcase\number\DOTSCASE@\gdef\thedots@{\dotsb@}%
\or\gdef\thedots@{\dotsi}\else\fi
\else\expandafter\math@\meaning@\math@
\ifgtest@\expandafter\mathbin@\meaning@\mathbin@
\ifgtest@\gdef\thedots@{\dotsb@}%
\else\expandafter\mathrel@\meaning@\mathrel@
\ifgtest@\gdef\thedots@{\dotsb@}%
\fi\fi\fi\fi\fi\fi\fi\fi\fi\fi\fi
\thedots@}
\def\boldsymboldots@#1{\bold@true\let\next=#1\let\delayed@=#1\mdots@@
\boldsymbol#1\bold@false}
\def\@cdots{\mathinner{\cdotp\cdotp\cdotp}}
\def\dotsi{\!\@cdots}
\let\dotsb@\@cdots
\def\rightdelim@{\gtest@true
\ifx\next)\else
\ifx\next]\else
\ifx\next\rbrack\else
\ifx\next\}\else
\ifx\next\rbrace\else
\ifx\next\rangle\else
\ifx\next\rceil\else
\ifx\next\rfloor\else
\ifx\next\rgroup\else
\ifx\next\rmoustache\else
\ifx\next\right\else
\ifx\next\bigr\else
\ifx\next\biggr\else
\ifx\next\Bigr\else
\ifx\next\Biggr\else\gtest@false
\fi\fi\fi\fi\fi\fi\fi\fi\fi\fi\fi\fi\fi\fi\fi}
\def\extra@{%
\rightdelim@\ifgtest@
\else\ifx\next$\gtest@true
\else\xdef\meaning@{\meaning\next..........}%
\expandafter\macro@\meaning@\macro@\ifgtest@
\expandafter\DOTS@\meaning@\DOTS@
\ifgtest@
\ifnum\DOTSCASE@=\tw@\gtest@true\else\gtest@false
\fi\fi\fi\fi\fi}
\newif\ifbold@
\def\dotso@{\relaxnext@
\ifbold@
\let\next\delayed@
\def\nextii@{\extra@\@ldots\ifgtest@\,\fi}%
\else
\def\nextii@{\DN@{\extra@\@ldots\ifgtest@\,\fi}\FN@\next@}%
\nextii@}
\def\extrap@#1{%
\DN@{#1\,}%
\ifx\next,\else
\ifx\next;\else
\ifx\next.\else\extra@
\ifgtest@\else
\let\next@#1\fi\fi\fi\fi\next@}
\def\pldots{\DN@{\extrap@\@ldots}\FN@\next@}
\def\cdots{\protect\pcdots}
\def\pcdots{\DN@{\extrap@\@cdots}\FN@\next@}
\let\dotso\ldots
\let\dotsb\cdots
\let\dotsm\dotsb
\def\dotsc{\protect\pdotsc}
\def\pdotsc{\relaxnext@
\DN@{\ifx\next;\@ldots\,\else
\ifx\next.\@ldots\,\else\extra@\@ldots
\ifgtest@\,\fi\fi\fi}%
\FN@\next@}
\def\cdot{\mathchar"2201 }
\def\longrightarrow{\DOTSB\relbar\joinrel\rightarrow}
\def\Longrightarrow{\DOTSB\Relbar\joinrel\Rightarrow}
\def\longleftarrow{\DOTSB\leftarrow\joinrel\relbar}
\def\Longleftarrow{\DOTSB\Leftarrow\joinrel\Relbar}
\def\longleftrightarrow{\DOTSB\leftarrow\joinrel\rightarrow}
\def\Longleftrightarrow{\DOTSB\Leftarrow\joinrel\Rightarrow}
\def\mapsto{\DOTSB\mapstochar\rightarrow}
\def\longmapsto{\DOTSB\mapstochar\longrightarrow}
\def\hookrightarrow{\DOTSB\lhook\joinrel\rightarrow}
\def\hookleftarrow{\DOTSB\leftarrow\joinrel\rhook}
\def\doteq{\DOTSB\buildrel\textstyle.\over=}
\def\iff{\DOTSB\;\Longleftrightarrow\;}
\def\dddot#1{{\mathop{#1}\limits^{\vbox to-1.4\ex@{\kern-\tw@\ex@
\hbox{\series m\normalshape...}\vss}}}}
\def\ddddot#1{{\mathop{#1}\limits^{\vbox to-1.4\ex@{\kern-\tw@\ex@
\hbox{\series m\normalshape....}\vss}}}}
\def\sphat{^{\mathchoice{}{}%
{\,\,\smash[b]{\hbox{\lower4\ex@\hbox{$\m@th\widehat{\null}$}}}}%
{\,\smash[b]{\hbox{\lower3\ex@\hbox{$\m@th\hat{\null}$}}}}}}
\def\spcheck{^\vee}
\def\sptilde{^\sim}
\def\spdot{^{\hbox{\raise\ex@\hbox{\series m\normalshape.}}}}
\def\spddot{^{\hbox{\raise\ex@\hbox{\series m\normalshape..}}}}
\def\spdddot{^{\hbox{\raise\ex@\hbox{\series m\normalshape...}}}}
\def\spbreve{^{\!\smash[b]{\hbox{\lower4\ex@\hbox{\u{}}}}}}
\def\oldnos#1{\RIfM@{\mathcode`\,"013B \mathgroup\@ne#1}\else
\leavevmode\hbox{$\m@th\mathcode`\,"013B \mathgroup\@ne#1$}\fi}
\mathchardef\Gamma="0000
\mathchardef\Delta="0001
\mathchardef\Theta="0002
\mathchardef\Lambda="0003
\mathchardef\Xi="0004
\mathchardef\Pi="0005
\mathchardef\Sigma="0006
\mathchardef\Upsilon="0007
\mathchardef\Phi="0008
\mathchardef\Psi="0009
\mathchardef\Omega="000A
\mathchardef\varGamma="0100
\mathchardef\varDelta="0101
\mathchardef\varTheta="0102
\mathchardef\varLambda="0103
\mathchardef\varXi="0104
\mathchardef\varPi="0105
\mathchardef\varSigma="0106
\mathchardef\varUpsilon="0107
\mathchardef\varPhi="0108
\mathchardef\varPsi="0109
\mathchardef\varOmega="010A
\def\accentclass@{7}
\def\noaccents@{\def\accentclass@{0}}
\def\makeacc@#1#2{\def#1{\mathaccent"\accentclass@#2 }}
\makeacc@\hat{05E}
\makeacc@\check{014}
\makeacc@\tilde{07E}
\makeacc@\acute{013}
\makeacc@\grave{012}
\makeacc@\dot{05F}
\makeacc@\ddot{07F}
\makeacc@\breve{015}
\makeacc@\bar{016}
\def\vec{\mathaccent"017E }
\newcount\skewcharcount@
\newcount\familycount@
\def\theskewchar@{\familycount@\@ne
\global\skewcharcount@\the\skewchar\textfont\@ne
\ifnum\mathgroup>\m@ne\ifnum\mathgroup<16
\global\familycount@\the\mathgroup\relax
\global\skewcharcount@\the\skewchar\textfont\the\mathgroup\relax\fi\fi
\ifnum\skewcharcount@>\m@ne
\ifnum\skewcharcount@<128
\multiply\familycount@256
\global\advance\skewcharcount@\familycount@
\global\advance\skewcharcount@28672
\mathchar\skewcharcount@\else
\global\skewcharcount@\m@ne\fi\else
\global\skewcharcount@\m@ne\fi}
\newcount\pointcount@
\def\getpoints@#1.#2\getpoints@{\pointcount@#1 }
\newdimen\accentdimen@
\newcount\accentmu@
\def\dimentomu@{\multiply\accentdimen@ 100
\expandafter\getpoints@\the\accentdimen@\getpoints@
\multiply\pointcount@18
\divide\pointcount@\@m
\global\accentmu@\pointcount@}
\def\Makeacc@#1#2{\def#1{\RIfM@\DN@{\mathaccent@
{"\accentclass@#2 }}\else\DN@{\nonmatherr@{#1}}\fi\next@}}
\def\mathaccent@#1#2{\ifnum\mathgroup=\m@ne\xdef\thefam@{1}\else
\xdef\thefam@{\the\mathgroup}\fi
\accentdimen@\z@
\setboxz@h{\unbracefonts@$\m@th\mathgroup\thefam@\relax#2$}%
\ifdim\accentdimen@=\z@\DN@{\mathaccent#1{#2}}%
\setbox@ne\hbox{\unbracefonts@
$\m@th\mathgroup\thefam@\relax#2\theskewchar@$}
\setbox\tw@\hbox{$\m@th\ifnum\skewcharcount@=\m@ne\else
\mathchar\skewcharcount@\fi$}%
\global\accentdimen@\wd@ne\global\advance\accentdimen@-\wdz@
\global\advance\accentdimen@-\wd\tw@
\global\multiply\accentdimen@\tw@
\dimentomu@\global\advance\accentmu@\@ne
\else\DN@{{\mathaccent#1{#2\mkern\accentmu@ mu}%
\mkern-\accentmu@ mu}{}}\fi
\next@}\Makeacc@\Hat{05E}
\Makeacc@\Check{014}
\Makeacc@\Tilde{07E}
\Makeacc@\Acute{013}
\Makeacc@\Grave{012}
\Makeacc@\Dot{05F}
\Makeacc@\Ddot{07F}
\Makeacc@\Breve{015}
\Makeacc@\Bar{016}
\def\Vec{\RIfM@\DN@{\mathaccent@{"017E }}\else
\DN@{\nonmatherr@\Vec}\fi\next@}
\def\accentedsymbol#1#2{\expandafter\newbox\csname\expandafter
\@gobble\string#1@box\endcsname
\expandafter\setbox\csname\expandafter\@gobble
\string#1@box\endcsname\hbox{$\m@th#2$}\define
#1{\expandafter\copy\csname\expandafter\@gobble\string#1@box
\endcsname{}}}
\def\@@sqrt#1{\radical"270370 {#1}}
\def\underline#1{\RIfM@\@@underline{#1}%
\else $\m@th\@@underline{\hbox{#1}}$\fi}
\let\@@overline\overline
\def\overline#1{\@@overline{#1}}
\Invalid@\leftroot
\Invalid@\uproot
\newcount\uproot@
\newcount\leftroot@
\def\root{\relaxnext@
\DN@{\ifx\next\uproot\let\next@\nextii@\else
\ifx\next\leftroot\let\next@\nextiii@\else
\let\next@\plainroot@\fi\fi\next@}%
\def\nextii@\uproot##1{\uproot@##1\relax\FN@\nextiv@}%
\def\nextiv@{\ifx\next\@sptoken\DN@. {\FN@\nextv@}\else
\DN@.{\FN@\nextv@}\fi\next@.}%
\def\nextv@{\ifx\next\leftroot\let\next@\nextvi@\else
\let\next@\plainroot@\fi\next@}%
\def\nextvi@\leftroot##1{\leftroot@##1\relax\plainroot@}%
\def\nextiii@\leftroot##1{\leftroot@##1\relax\FN@\nextvii@}%
\def\nextvii@{\ifx\next\@sptoken
\DN@. {\FN@\nextviii@}\else
\DN@.{\FN@\nextviii@}\fi\next@.}%
\def\nextviii@{\ifx\next\uproot\let\next@\nextix@\else
\let\next@\plainroot@\fi\next@}%
\def\nextix@\uproot##1{\uproot@##1\relax\plainroot@}%
\bgroup\uproot@\z@\leftroot@\z@\FN@\next@}
\def\plainroot@#1\of#2{\setbox\rootbox\hbox{%
$\m@th\scriptscriptstyle{#1}$}%
\mathchoice{\r@@t\displaystyle{#2}}{\r@@t\textstyle{#2}}
{\r@@t\scriptstyle{#2}}{\r@@t\scriptscriptstyle{#2}}\egroup}
\def\r@@t#1#2{\setboxz@h{$\m@th#1\@@sqrt{#2}$}%
\dimen@\ht\z@\advance\dimen@-\dp\z@
\setbox@ne\hbox{$\m@th#1\mskip\uproot@ mu$}%
\advance\dimen@ by1.667\wd@ne
\mkern-\leftroot@ mu\mkern5mu\raise.6\dimen@\copy\rootbox
\mkern-10mu\mkern\leftroot@ mu\boxz@}
\def\boxed#1{\fbox{\m@th$\displaystyle#1$}}
\begingroup
\def\do{\noexpand\do\noexpand}
\xdef\@preamblecmds{\@preamblecmds
\do \numberwithin
\do \UseAMSsymbols
\do \newsymbol}
\endgroup
\def\new@ifnextchar#1#2#3{%
\let\@tempe #1\def\@tempa{#2}\def\@tempb{#3}\futurelet
\@tempc\new@ifnch}
\def\new@ifnch{\ifx\@tempc \@tempe \let\@tempd\@tempa
\else\let\@tempd\@tempb\fi\@tempd}
\def\new@ifstar#1#2{\new@ifnextchar *{\def\@tempa*{#1}\@tempa}{#2}}
\def\setb@ck{\iffirstchoice@\global\advance\c@equation\m@ne\fi}
\newcount\dspbrk@lvl
\dspbrk@lvl=-1
\interdisplaylinepenalty\@M
\def\allowdisplaybreaks{%
\new@ifnextchar [\allowdspbrks@{\allowdspbrks@[4]}}
\def\allowdspbrks@[#1]{%
\interdisplaylinepenalty\getdsp@pen{#1}}
\def\getdsp@pen#1{%
\ifcase #1\relax \@M
\or 9999
\or 6999
\or 2999
\or \z@\fi}
\Invalid@\displaybreak
\def\displaybreak@{%
\def\displaybreak{\new@ifnextchar[\dspbrk@{\dspbrk@[4]}}}
\def\dspbrk@[#1]{\global\dspbrk@lvl #1\relax}
\def\math@cr{{\ifnum0=`}\fi
\new@ifstar{\global\@eqpen\@M\math@cr@}%
{\global\@eqpen
\ifnum\dspbrk@lvl <\z@ \interdisplaylinepenalty
\else -\@getpen\dspbrk@lvl \fi
\math@cr@}}
\def\math@cr@{\new@ifnextchar[\math@cr@@{\math@cr@@[\z@]}}
\def\math@cr@@[#1]{\ifnum0=`{\fi}\math@cr@@@
\noalign{\vskip#1\relax}}
\def\Let@{\let\\\math@cr}
\def\restore@math@cr{\def\math@cr@@@{\cr}}
\restore@math@cr
\Invalid@\intertext
\def\intertext@{\def\intertext##1{\noalign{%
\penalty\postdisplaypenalty\vskip\belowdisplayskip
\vbox{\normalbaselines\noindent##1}%
\penalty\predisplaypenalty\vskip\abovedisplayskip}}}
\newhelp\tag@help
{tag cannot be used at this point.\space
If you don't understand why^^Jyou should consult
the documentation.^^JBut don't worry: just continue, and I'll
forget what happened.}
\def\gobble@tag{\new@ifstar\@gobble\@gobble}
\def\invalid@tag#1{\err@{#1}{\the\tag@help}\gobble@tag}
\def\dft@tag{\invalid@tag{\string\tag\space not allowed here}}
\def\default@tag{\let\tag\dft@tag}
\default@tag
\def\maketag@@{\new@ifstar\maketag@@@\tagform@}
\def\maketag@@@#1{\hbox{\m@th\series m\normalshape#1}}
\def\tagform@#1{\maketag@@@{(\ignorespaces#1\unskip)}}
\def\thetag{\leavevmode\tagform@}
\def\make@df@tag{\new@ifstar\make@df@tag@@\make@df@tag@@@}
\def\make@df@tag@@#1{%
\def\@currentlabel{#1}%
\gdef\df@tag{\maketag@@@{#1}}}
\def\make@df@tag@@@#1{%
\def\@currentlabel{#1}%
\gdef\df@tag{\tagform@{#1}}}
\def\notag{\nonumber}
\newif\iftagsleft@
\tagsleft@true
\def\@eqnnum{\hbox to .01pt{}\rlap{\normalshape
\hskip -\displaywidth\tagform@\theequation}}
\def\multilimits@{\bgroup
\Let@
\restore@math@cr
\default@tag
\baselineskip\fontdimen10 \scriptfont\tw@
\advance\baselineskip\fontdimen12 \scriptfont\tw@
\lineskip\thr@@\fontdimen8 \scriptfont\thr@@
\lineskiplimit\lineskip
\vbox\bgroup\ialign\bgroup\hfil$\m@th\scriptstyle{##}$\hfil\crcr}
\def\Sb{_\multilimits@}
\def\Sp{^\multilimits@}
\def\endSb{\crcr\egroup\egroup\egroup}
\let\endSp=\endSb
\def\smallmatrix{\null\,\vcenter\bgroup
\Let@\restore@math@cr\default@tag
\baselineskip6\ex@ \lineskip1.5\ex@ \lineskiplimit\lineskip
\ialign\bgroup\hfil$\m@th\scriptstyle{##}$\hfil&&\thickspace\hfil
$\m@th\scriptstyle{##}$\hfil\crcr}
\def\endsmallmatrix{\crcr\egroup\egroup\,}
\newcount\c@MaxMatrixCols
\c@MaxMatrixCols=10
\def\matrix{\hskip -\arraycolsep\array{*\c@MaxMatrixCols c}}
\def\endmatrix{\endarray \hskip -\arraycolsep}
\@ifundefined{prepnext@tok}{%
\def\@array[#1]#2{%
\setbox\@arstrutbox\hbox{\vrule\@height\arraystretch\ht\strutbox
\@depth\arraystretch\dp\strutbox \@width\z@}%
\@mkpream{#2}\edef\@preamble{\ialign \noexpand\@halignto
\bgroup \tabskip\z@ \@arstrut \@preamble \tabskip\z@ \cr}%
\let\@startpbox\@@startpbox \let\@endpbox\@@endpbox
\if #1t\vtop \else \if#1b\vbox \else \vcenter \fi\fi
\bgroup \let\par\@empty
\let\@sharp##\let\protect\relax
\lineskip\z@\baselineskip\z@\@preamble}%
\begingroup \lccode`\~=`\@ \catcode`\~=\active % just to be sure!
\lowercase{%
\gdef\@xexpast#1*#2#3#4\@@{\begingroup
\def~{@}\edef\@tempa{#1}\@tempcnta#2\relax
\ifnum\@tempcnta >\z@
\@whilenum\@tempcnta >\z@\do
{\edef\@tempa{\@tempa#3}\advance\@tempcnta \m@ne}%
\let\@tempb\@xexpast
\else \let\@tempb\@xexnoop\fi
\expandafter\@tempb \@tempa #4\@@
\expandafter\endgroup
\expandafter\def\expandafter\@tempa\expandafter{\@tempa}%
}% End of \@xexpast
}% End of \lowercase
\endgroup
}{}% End of \@ifundefined test.
\def\cases{\left\{\def\arraystretch{1.2}\hskip-\arraycolsep
\array{l@{\quad}l}}
\def\endcases{\endarray\hskip-\arraycolsep\right.}
\newif\ifinany@
\newif\ifinalign@
\newif\ifingather@
\newcount\and@
\newif\iftag@
\newhelp\andhelp@
{An extra & here is so disastrous that you should probably exit^^J
and fix things up.}
\newif\ifst@rred
\newtoks\@envbody
\def\addto@envbody#1{\@envbody\expandafter{\the\@envbody#1}}
\def\collect@body#1{%
\@envbody{}%
\def\process@envbody{%
\expandafter#1\expandafter{\the\@envbody}}%
\expandafter\let\csname\@currenvir\endcsname\collect@@body
\csname\@currenvir\endcsname}
\def\collect@@body#1\end#2{%
\def\@tempa{#2}%
\ifx\@tempa\@currenvir
\addto@envbody{#1}%
\expandafter\edef\csname\@currenvir\endcsname
{\noexpand\process@envbody\noexpand\end{\@tempa}}%
\else
\addto@envbody{#1\end{#2}}%
\fi
\csname\@currenvir\endcsname}
\def\aligned{\RIfM@\else\nonmatherr@{\begin{aligned}}\fi
\null\,\new@ifnextchar[{\aligned@}{\aligned@[c]}}
\def\aligned@[#1]{%
\if #1t\vtop \else \if#1b\vbox \else \vcenter \fi\fi
\bgroup
\Let@\restore@math@cr
\default@tag
\ifinany@\else\openup\jot\fi
\ialign\bgroup\hfil\strut@$\m@th\displaystyle{##}$&%
$\m@th\displaystyle{{}##}$\hfil\crcr}
\def\endaligned{\crcr\egroup\egroup}
\newcount\atcount@
\def\doat@#1{\toks@{\hfil\strut@$\m@th
\displaystyle{\the\hashtoks@}$&$\m@th\displaystyle
{{}\the\hashtoks@}$\hfil}%
\atcount@#1\relax\advance\atcount@\m@ne
\loop\ifnum\atcount@>\z@\toks@\expandafter{\the\toks@&\hfil$\m@th
\displaystyle{\the\hashtoks@}$&$\m@th
\displaystyle{{}\the\hashtoks@}$\hfil}\advance
\atcount@\m@ne\repeat
\xdef\preamble@{\the\toks@}\xdef\preamble@@{\preamble@}}
\def\alignedat#1{\null\,\vcenter\bgroup\doat@{#1}\Let@
\restore@math@cr\default@tag
\ifinany@\else\openup\jot\fi\ialign\bgroup\span\preamble@@\crcr}
\let\endalignedat =\endaligned
\def\gathered{\RIfM@\else\nonmatherr@{\begin{gathered}}\fi
\null\,\vcenter\bgroup\Let@\restore@math@cr
\ifinany@\else\openup\jot\fi\ialign
\bgroup\hfil\strut@$\m@th\displaystyle{##}$\hfil\crcr}
\let\endgathered =\endaligned
\def\tag@in@align{%
\iftag@\DN@{\invalid@tag{Multiple \string\tag}}\else
\global\tag@true
\if@eqnsw\global\@eqnswfalse\fi
\let\next@\make@df@tag\fi
\next@}
\def\math@cr@@@align{%
\if@eqnsw\global\tag@true\fi
\iftag@
\ifcase\and@
\DN@{&&}\else
\DN@{&}\fi\else
\let\next@\relax\fi
\next@
\relax
\if@eqnsw\tagform@\theequation\stepcounter{equation}\else
\iftag@\df@tag\fi\fi
\global\@eqnswtrue\cr}
\def\Tag@{\iftag@\else\firstchoice@true
\err@{Extra & on this line}{\the\andhelp@}\fi}
\newdimen\lwidth@
\newdimen\rwidth@
\newdimen\maxlwidth@
\newdimen\maxrwidth@
\newdimen\totwidth@
\def\measure@#1{\lwidth@\z@\rwidth@\z@\maxlwidth@\z@\maxrwidth@\z@
\global\and@\z@
\setbox@ne\vbox{%
\everycr{\noalign{\global\tag@false\global\and@\z@}}\Let@
\let\tag\gobble@tag
\let\notag\@empty \let\nonumber\@empty
\firstchoice@false
\halign{\setboxz@h{$\m@th\displaystyle{\@lign##}$}%
\global\lwidth@\wdz@
\ifdim\lwidth@>\maxlwidth@\global\maxlwidth@\lwidth@\fi
\global\advance\and@\@ne
&\setboxz@h{$\m@th\displaystyle{{}\@lign##}$}%
\global\rwidth@\wdz@
\ifdim\rwidth@>\maxrwidth@\global\maxrwidth@\rwidth@\fi
\global\advance\and@\@ne
&\Tag@\@gobble{##}\crcr#1\crcr}}%
\totwidth@\maxlwidth@\advance\totwidth@\maxrwidth@}
\def\displ@y{\global\dt@ptrue\openup\jot\m@th
\everycr{\noalign{\ifdt@p \global\dt@pfalse
\vskip-\lineskiplimit \vskip\normallineskiplimit
\else \penalty\@eqpen \fi}}}
\def\displ@y@{\global\dt@ptrue\openup\jot
\everycr{\noalign{\global\tag@false
\global\and@\z@
\global\dspbrk@lvl\m@ne
\ifdt@p\global\dt@pfalse
\vskip-\lineskiplimit\vskip\normallineskiplimit\else
\penalty\@eqpen\fi}}}
\def\black@#1{\noalign{\ifdim#1>\displaywidth
\dimen@\prevdepth\nointerlineskip
\vskip-\ht\strutbox@\vskip-\dp\strutbox@
\vbox{\noindent\hbox to#1{\strut@\hfill}}%
\prevdepth\dimen@
\fi}}
\def\align{\ifingather@
{\ifnum0=`}\fi
\DN@{\@nameuse{align (in \string\gather)}}%
\else \ifmmode\nomath@env
\DN@{\let\endalign\relax\@gobble}\else
$$\stepcounter{equation}%
\st@rredfalse\let\next@\align@\fi\fi
\collect@body\next@}
\@namedef{align*}{\ifingather@
{\ifnum0=`}\fi
\DN@{\@nameuse{align* (in \string\gather)}}\else
\ifmmode\nomath@env
\DN@{\@namedef{endalign*}{}\@gobble}\else
$$\st@rredtrue
\let\next@\align@\fi\fi
\collect@body\next@}
\newdimen\lineht@
\def\align@{\inalign@true\inany@true
\displaybreak@\intertext@
\let\math@cr@@@\math@cr@@@align
\let\tag\tag@in@align
\global\and@\z@\global\dspbrk@lvl\m@ne
\iftagsleft@\DN@{\@nameuse{align }}\else
\DN@{\@nameuse{align \space}}\fi\next@}
\@namedef{align }#1{%
\measure@{#1}\global\and@\z@\global\dspbrk@lvl\m@ne
\ifdim\totwidth@>\displaywidth\let\displaywidth@\totwidth@\else
\let\displaywidth@\displaywidth\fi
\ifingather@\everycr{\noalign{\global\and@\z@
\global\dspbrk@lvl\m@ne}}\else\displ@y@\fi
\Let@
\ifst@rred\else\let\@currentlabel\theequation\fi
\tabskip\@centering\halign to\displaywidth\bgroup
\ifst@rred\nonumber\fi
\hfil\strut@
\setboxz@h{\global\tag@false$\m@th\displaystyle{\@lign##}$}%
\global\lwidth@\wdz@\global\lineht@\ht\z@
\boxz@\global\advance\and@\@ne
\tabskip\z@skip&\setboxz@h{$\m@th\displaystyle{{}\@lign##}$}%
\global\rwidth@\wdz@\ifdim\ht\z@>\lineht@\global\lineht@\ht\z@\fi
\boxz@\hfil\global\advance\and@\@ne
\tabskip\@centering&\kern-\displaywidth@
\setboxz@h{\@lign\strut@{##}}%
\dimen@\displaywidth\advance\dimen@-\totwidth@
\divide\dimen@\tw@\advance\dimen@\maxlwidth@\advance\dimen@-\lwidth@
\ifdim\dimen@<\tw@\wdz@
\rlap{\vbox{\normalbaselines\boxz@\vbox to\lineht@{}}}\else
\rlap{\boxz@}\fi
\tabskip\displaywidth@\crcr#1}
\@namedef{align \space}#1{%
\measure@{#1}\global\and@\z@\global\dspbrk@lvl\m@ne
\ifingather@\everycr{\noalign{\global\and@\z@
\global\dspbrk@lvl\m@ne}}\else\displ@y@\fi
\Let@
\ifst@rred\else\let\@currentlabel\theequation\fi
\tabskip\@centering
\halign to\displaywidth\bgroup
\ifst@rred\nonumber\fi
\hfil\strut@
\setboxz@h{\global\tag@false$\m@th\displaystyle{\@lign##}$}%
\global\lwidth@\wdz@\boxz@\global\advance\and@\@ne
\tabskip\z@skip
&\setboxz@h{$\m@th\displaystyle{{}\@lign##}$}%
\global\rwidth@\wdz@\boxz@\hfill\global\advance\and@\@ne
\tabskip\@centering
&\setboxz@h{\@lign\strut@{##}}%
\dimen@\displaywidth\advance\dimen@-\totwidth@
\divide\dimen@\tw@\advance\dimen@\maxrwidth@\advance\dimen@-\rwidth@
\ifdim\dimen@<\tw@\wdz@\llap{\vtop{\normalbaselines\null\boxz@}}%
\else\llap{\boxz@}\fi
\tabskip\z@skip
\crcr#1}
\def\endalign{\math@cr@@@align
\black@\totwidth@
\egroup$$\global\@ignoretrue\setb@ck}
\@namedef{endalign*}{\math@cr@@@align\black@\totwidth@
\egroup$$\global\@ignoretrue}
\@namedef{align (in \string\gather)}{%
\ifst@rred\stepcounter{equation}\fi
\def\endalign{\@nameuse{endalign (in \string\gather)}\ifnum0=`{\fi}}%
\vcenter\bgroup\st@rredfalse
\collect@body\align@}
\@namedef{endalign (in \string\gather)}{%
\math@cr@@@align\black@\totwidth@
\egroup\egroup
\ifst@rred\setb@ck\fi% this ifst@rred is set by the enclosing gather
\global\tag@false\global\@eqnswfalse}
\@namedef{align* (in \string\gather)}{%
\@namedef{endalign*}{\@nameuse{endalign* (in \string\gather)}%
\ifnum0=`{\fi}}%
\vcenter\bgroup\st@rredtrue
\collect@body\align@}
\@namedef{endalign* (in \string\gather)}{%
\math@cr@@@align\black@\totwidth@\egroup\egroup
\global\tag@false\global\@eqnswfalse}
\newif\ifxat@
\def\alignat#1{%
\ifmmode\nomath@env\DN@{\let\endalignat\relax\@gobble}\else$$%
\st@rredfalse\stepcounter{equation}\let\@currentlabel\theequation
\DN@{\@nameuse{alignat }#1}\fi
\collect@body\next@}
\@namedef{alignat*}#1{%
\ifmmode\nomath@env\DN@{\@namedef{endalignat*}{}\@gobble}\else$$%
\st@rredtrue
\DN@{\@nameuse{alignat }#1}\fi
\collect@body\next@}
\newif\ifmeasuring@
\newbox\savealignat@
\def\math@cr@@@alignat{%
\if@eqnsw\global\tag@true\fi
\iftag@
\multiply\count@\tw@
\xdef\next@{}\loop\ifnum\count@>\and@\xdef\next@{&\next@}%
\advance\count@\m@ne\repeat\else
\let\next@\relax\fi
\next@
\relax
\if@eqnsw\tagform@\theequation\stepcounter{equation}\else
\iftag@\df@tag\fi\fi
\global\@eqnswtrue\cr}%
\@namedef{alignat }#1#2{%
\inany@true\xat@false
\let\tag\tag@in@align
\def\math@cr@@@{\count@#1\relax\math@cr@@@alignat}%
\displaybreak@\intertext@
\displ@y@\measuring@true
\setbox\savealignat@\hbox{$\m@th\displaystyle\Let@
\attag@{#1}%
\vbox{\firstchoice@false\halign{\span\preamble@@\crcr#2\crcr}}$}%
\measuring@false
\Let@
\ifst@rred\else\global\@eqnswtrue\fi
\attag@{#1}%
\tabskip\@centering\halign to\displaywidth\bgroup
\ifst@rred\nonumber\fi
\span\preamble@@\crcr#2}
\def\endalignat{\math@cr@@@\black@{\wd\savealignat@}%
\egroup\setb@ck$$\global\@ignoretrue}
\@namedef{endalignat*}{\math@cr@@@\black@{\wd\savealignat@}\egroup
$$\global\@ignoretrue}
\def\xalignat#1{%
\ifmmode\nomath@env\DN@{\let\endxalignat\relax\@gobble}\else$$%
\st@rredfalse\stepcounter{equation}\let\@currentlabel\theequation
\DN@{\@nameuse{xalignat }#1}\fi
\collect@body\next@}
\@namedef{xalignat*}#1{%
\ifmmode\nomath@env\DN@{\@namedef{endxalignat*}{}\@gobble}\else$$%
\st@rredtrue
\DN@{\@nameuse{xalignat }#1}\fi
\collect@body\next@}
\let\endxalignat=\endalignat
\expandafter\let\csname endxalignat*\expandafter
\endcsname\csname endalignat*\endcsname
\@namedef{xalignat }#1#2{%
\inany@true\xat@true
\let\tag\tag@in@align
\def\math@cr@@@{\count@#1\relax\math@cr@@@alignat}%
\displaybreak@\intertext@
\displ@y@\measuring@true
\setbox\savealignat@\hbox{$\m@th\displaystyle\Let@
\attag@{#1}\vbox{\firstchoice@false
\halign{\span\preamble@@\crcr#2\crcr}}$}%
\measuring@false
\Let@
\ifst@rred\else\global\@eqnswtrue\fi
\attag@{#1}\tabskip\@centering\halign to\displaywidth\bgroup
\span\preamble@@\crcr#2}
\def\attag@#1{%
\let\TAG@\Tag@\let\Tag@0%
\ifmeasuring@\def\llap@##1{\setboxz@h{##1}\hbox to\tw@\wdz@{}}%
\def\rlap@##1{\setboxz@h{##1}\hbox to\tw@\wdz@{}}\else
\let\llap@\llap\let\rlap@\rlap\fi
\toks@{\hfil\strut@$\m@th\displaystyle{\@lign\the\hashtoks@}$%
\tabskip\z@skip
\global\advance\and@\@ne
&$\m@th\displaystyle{{}\@lign\the\hashtoks@}$\hfil
\ifxat@\tabskip\@centering\fi\global\advance\and@\@ne}%
\iftagsleft@
\@temptokena{\tabskip\@centering&\Tag@\kern-\displaywidth
\rlap@{\@lign
\the\hashtoks@
}%
\global\advance\and@\@ne\tabskip\displaywidth}\else
\@temptokena{\tabskip\@centering&\Tag@\llap@{\@lign
\the\hashtoks@
}\global\advance\and@\@ne\tabskip\z@skip}\fi
\atcount@#1\relax\advance\atcount@\m@ne
\loop\ifnum\atcount@>\z@
\toks@\expandafter{\the\toks@&\hfil$\m@th\displaystyle{\@lign
\the\hashtoks@}$\global\advance\and@\@ne
\tabskip\z@skip
&$\m@th\displaystyle{{}\@lign\the\hashtoks@}$\hfil\ifxat@
\tabskip\@centering\fi\global\advance\and@\@ne}\advance\atcount@\m@ne
\repeat
\xdef\preamble@{\the\toks@\the\@temptokena}%
\xdef\preamble@@{\preamble@}%
\let\Tag@\TAG@}
\def\xxalignat#1{%
\ifmmode\nomath@env\DN@{\let\endxxalignat\relax\@gobble}\else$$%
\DN@{\@nameuse{xxalignat }#1}\fi
\collect@body\next@}
\@namedef{xxalignat }#1#2{\inany@true
\displaybreak@\intertext@
\displ@y\setbox\savealignat@\hbox{$\m@th\displaystyle\Let@
\xxattag@{#1}%
\vbox{\firstchoice@false\halign{\span\preamble@@\crcr#2\crcr}}$}%
\Let@\xxattag@{#1}\tabskip\z@skip\halign to\displaywidth\bgroup
\span\preamble@@\crcr#2}
\expandafter\let\expandafter\endxxalignat\csname endxalignat*\endcsname
\def\xxattag@#1{\toks@{\tabskip\z@skip\hfil\strut@
$\m@th\displaystyle{\the\hashtoks@}$&%
$\m@th\displaystyle{{}\the\hashtoks@}$\hfil\tabskip\@centering&}%
\atcount@#1\relax\advance\atcount@\m@ne\loop\ifnum\atcount@>\z@
\toks@
\expandafter
{\the\toks@&\hfil$\m@th\displaystyle{\the\hashtoks@}$%
\tabskip\z@skip&$\m@th\displaystyle{{}\the\hashtoks@}$\hfil
\tabskip\@centering}\advance\atcount@\m@ne\repeat
\xdef\preamble@{\the\toks@\tabskip\z@skip}\xdef\preamble@@{\preamble@}}
\newdimen\gwidth@
\newdimen\gmaxwidth@
\def\gmeasure@#1{\gwidth@\z@\gmaxwidth@\z@\setbox@ne\vbox{\Let@
\firstchoice@false\let\tag\gobble@tag
\halign{\setboxz@h{$\m@th\displaystyle{##}$}\global\gwidth@\wdz@
\ifdim\gwidth@>\gmaxwidth@\global\gmaxwidth@\gwidth@\fi
&\@gobble{##}\crcr#1\crcr}}}
\def\math@cr@@@gather{%
\if@eqnsw\global\tag@true\fi
\iftag@
\DN@{&\relax \if@eqnsw
\tagform@\theequation \stepcounter{equation}%
\else\iftag@\df@tag\fi\fi}%
\else
\expandafter\@gobble\fi
\next@
\global\@eqnswtrue\cr}
\def\gather{%
\ifmmode\nomath@env\DN@{\let\endgather\relax\@gobble}\else $$%
\ingather@true\inany@true
\stepcounter{equation}%
\let\tag\tag@in@align\st@rredfalse
\displaybreak@\intertext@
\displ@y
\Let@\let\@currentlabel\theequation
\let\math@cr@@@\math@cr@@@gather
\iftagsleft@\DN@{\@nameuse{gather }}\else
\DN@{\@nameuse{gather \space}}\fi\fi
\collect@body\next@}
\@namedef{gather*}{%
\ifmmode\nomath@env\DN@{\@namedef{endgather*}{}\@gobble}\else $$%
\ingather@true\inany@true
\let\tag\tag@in@align\st@rredtrue
\displaybreak@\intertext@
\displ@y\Let@
\let\math@cr@@@\math@cr@@@gather
\iftagsleft@\DN@{\@nameuse{gather }}\else
\DN@{\@nameuse{gather \space}}\fi\fi
\collect@body\next@}
\newdimen\glineht@
\@namedef{gather \space}#1{%
\gmeasure@{#1}\global\dt@ptrue\tabskip\@centering
\halign to\displaywidth\bgroup
\ifst@rred\nonumber\else\global\@eqnswtrue\fi
\hfil\strut@\setboxz@h{\global\tag@false$\m@th\displaystyle{##}$}%
\global\gwidth@\wdz@\boxz@\hfil&
\setboxz@h{\strut@{##}}%
\dimen@\displaywidth\advance\dimen@-\gwidth@
\ifdim\dimen@>\tw@\wdz@\llap{\boxz@}\else
\llap{\vtop{\normalbaselines\null\boxz@}}\fi
\tabskip\z@skip\crcr#1}
\def\endgather{\math@cr@@@
\black@\gmaxwidth@\egroup $$\setb@ck\global\@ignoretrue}
\@namedef{endgather*}{\math@cr@@@
\black@\gmaxwidth@\egroup $$\global\@ignoretrue}
\@namedef{gather }#1{%
\gmeasure@{#1}\global\dt@ptrue
\ifdim\gmaxwidth@>\displaywidth\let\gdisplaywidth@\gmaxwidth@\else
\let\gdisplaywidth@\displaywidth\fi\tabskip\@centering
\halign to\displaywidth\bgroup
\ifst@rred\nonumber\else\global\@eqnswtrue\fi
\hfil\strut@\setboxz@h{\global\tag@false$\m@th\displaystyle{##}$}%
\global\gwidth@\wdz@
\global\glineht@\ht\z@\boxz@\hfil&\kern-\gdisplaywidth@
\setboxz@h{\strut@{##}}%
\dimen@\displaywidth\advance\dimen@-\gwidth@
\ifdim\dimen@>\tw@\wdz@\rlap{\boxz@}\else
\rlap{\vbox{\normalbaselines\boxz@\vbox to\glineht@{}}}\fi
\tabskip\gdisplaywidth@\crcr#1}
\def\split{%
\ifinany@\let\next@\insplit@\else
\DN@{\err@{\string\begin{split} is not allowed
here. Try the `aligned' environment.}\@ehb}\fi
\next@}
\def\insplit@{\global\setbox\z@\vbox\bgroup
\Let@ \restore@math@cr \default@tag % disallow use of \tag here
\ialign\bgroup \hfil\strut@
$\m@th\displaystyle{##}$&$\m@th\displaystyle{{}##}$\hfill\crcr}
\def\endsplit{\crcr\egroup\egroup
\iftagsleft@\expandafter\lendsplit@\else
\expandafter\rendsplit@\fi}
\def\rendsplit@{\global\setbox9 \vbox
{\unvcopy\z@\global\setbox8 \lastbox\unskip}%
\setbox@ne\hbox{\unhcopy8 \unskip\global\setbox\tw@\lastbox
\unskip\global\setbox\thr@@\lastbox}%
\global\setbox7 \hbox{\unhbox\tw@\unskip}%
\ifinalign@\ifctagsplit@
\gdef\split@{\hbox to\wd\thr@@{}&
\vcenter{\vbox{\moveleft\wd\thr@@\boxz@}}}%
\else\gdef\split@{&\vbox{\moveleft\wd\thr@@\box9}\crcr
\box\thr@@&\box7}\fi
\else
\ifctagsplit@\gdef\split@{\vcenter{\boxz@}}\else
\gdef\split@{\box9\crcr\hbox{\box\thr@@\box7}}\fi
\aftergroup\split@}
\def\lendsplit@{\global\setbox9\vtop{\unvcopy\z@}%
\setbox@ne\vbox{\unvcopy\z@\global\setbox8\lastbox}%
\setbox@ne\hbox{\unhcopy8\unskip\setbox\tw@\lastbox
\unskip\global\setbox\thr@@\lastbox}%
\ifinalign@\ifctagsplit@
\gdef\split@{\hbox to\wd\thr@@{}&
\vcenter{\vbox{\moveleft\wd\thr@@\box9}}}%
\else
\gdef\split@{\hbox to\wd\thr@@{}&\vbox{\moveleft\wd\thr@@\box9}}\fi
\else
\ifctagsplit@\gdef\split@{\vcenter{\box9}}\else
\gdef\split@{\box9}\fi
\fi\aftergroup\split@}
\newdimen\multlinegap
\multlinegap10pt
\newdimen\multlinetaggap@
\multlinetaggap@10pt
\def\multline{%
\ifmmode\nomath@env\DN@{\let\endmultline\relax\@gobble}%
\else $$\DN@{\collect@body\multline@}\fi
\st@rredfalse\@eqnswtrue \let\@currentlabel\theequation
\stepcounter{equation}\next@}
\@namedef{multline*}{%
\ifmmode\nomath@env\DN@{\@namedef{endmultline*}{}\@gobble}%
\else $$\DN@{\collect@body\multline@}\fi
\st@rredtrue\@eqnswfalse \let\@currentlabel\@empty
\next@}
\def\multline@{\inany@true\displaybreak@
\global\tag@false \let\tag\tag@in@align
\iftagsleft@
\expandafter\lmultline@@\else
\expandafter\rmultline@@\fi}
\newdimen\mwidth@
\def\rmmeasure@#1{%
\def\shoveleft##1{##1}\def\shoveright##1{##1}%
\setbox@ne\vbox{\firstchoice@false\Let@\halign{\setboxz@h
{$\m@th\@lign\displaystyle{}##$}\global\mwidth@\wdz@
\crcr#1\crcr}}}
\newdimen\mlineht@
\newif\ifzerocr@
\newif\ifonecr@
\def\lmmeasure@#1{\global\zerocr@true\global\onecr@false
\everycr{\noalign{\ifonecr@\global\onecr@false\fi
\ifzerocr@\global\zerocr@false\global\onecr@true\fi}}%
\def\shoveleft##1{##1}\def\shoveright##1{##1}%
\setbox@ne\vbox{\Let@\firstchoice@false\halign{\setboxz@h
{$\m@th\@lign\displaystyle{}##$}\ifonecr@\global\mwidth@\wdz@
\global\mlineht@\ht\z@\fi\crcr#1\crcr}}}
\newbox\mtagbox@
\newdimen\ltwidth@
\newdimen\rtwidth@
\def\lmultline@@#1{%
\lmmeasure@{#1}%
\setbox\mtagbox@\hbox{%
\iftag@\df@tag\else
\if@eqnsw
\global\tag@true
\tagform@\theequation\fi\fi}%
\dimen@\mwidth@\advance\dimen@\wd\mtagbox@
\advance\dimen@\multlinetaggap@
\ifdim\dimen@>\displaywidth\ltwidth@\z@\else\ltwidth@\wd\mtagbox@\fi
\lmultline@@@#1}
\def\lmultline@@@{\displ@y
\def\shoveright##1{##1\hfilneg\hskip\multlinegap}%
\def\shoveleft##1{\setboxz@h{$\m@th\displaystyle{}##1$}%
\setbox@ne\hbox{$\m@th\displaystyle##1$}%
\hfilneg
\iftag@
\ifdim\ltwidth@>\z@\hskip\ltwidth@\hskip\multlinetaggap@\fi
\else\hskip\multlinegap\fi\hskip.5\wd@ne\hskip-.5\wdz@##1}%
\halign\bgroup\Let@ \let\tag\gobble@tag
\hbox to\displaywidth
{\strut@$\m@th\displaystyle\hfil{}##\hfil$}\crcr
\hfilneg
\iftag@
\ifdim\ltwidth@>\z@
\box\mtagbox@\hskip\multlinetaggap@
\else
\rlap{\vbox{\normalbaselines\hbox{\strut@\box\mtagbox@}%
\vbox to\mlineht@{}}}\fi
\else\hskip\multlinegap\fi}
\def\rmultline@@#1{%
\rmmeasure@{#1}%
\setbox\mtagbox@\hbox{%
\iftag@\df@tag\else
\if@eqnsw \global\tag@true
\tagform@\theequation\fi\fi}%
\dimen@\mwidth@\advance\dimen@\wd\mtagbox@
\advance\dimen@\multlinetaggap@
\ifdim\dimen@>\displaywidth\rtwidth@\z@\else\rtwidth@\wd\mtagbox@\fi
\rmultline@@@#1}
\def\rmultline@@@{\displ@y
\def\shoveright##1{##1\hfilneg\iftag@\ifdim\rtwidth@>\z@
\hskip\rtwidth@\hskip\multlinetaggap@\fi\else\hskip\multlinegap\fi}%
\def\shoveleft##1{\setboxz@h{$\m@th\displaystyle{}##1$}%
\setbox@ne\hbox{$\m@th\displaystyle##1$}%
\hfilneg\hskip\multlinegap\hskip.5\wd@ne\hskip-.5\wdz@##1}%
\halign\bgroup\Let@\let\tag\gobble@tag
\hbox to\displaywidth
{\strut@$\m@th\displaystyle\hfil{}##\hfil$}\crcr
\hfilneg\hskip\multlinegap}
\def\endmultline{\iftagsleft@\expandafter\lendmultline@\else
\expandafter\rendmultline@\fi\global\@ignoretrue}
\expandafter\let\csname endmultline*\endcsname=\endmultline
\def\lendmultline@{\hfilneg\hskip\multlinegap\crcr\egroup$$}
\def\rendmultline@{\iftag@
\ifdim\rtwidth@>\z@
\hskip\multlinetaggap@\box\mtagbox@
\else\llap{\vtop{\normalbaselines\null\hbox{\strut@\box\mtagbox@}}}\fi
\else\hskip\multlinegap\fi
\hfilneg\crcr\egroup$$}
\expandafter\def
\expandafter\@arrayparboxrestore
\expandafter{\@arrayparboxrestore
\inany@false\ingather@false\inalign@false
\default@tag}
\def\equation{\gather\Invalid@\\}
\def\endequation{\endgather}
\@namedef{equation*}{\equation\nonumber}
\expandafter\let\csname endequation*\endcsname =\endequation
%% \CharacterTable
%% {Upper-case \A\B\C\D\E\F\G\H\I\J\K\L\M\N\O\P\Q\R\S\T\U\V\W\X\Y\Z
%% Lower-case \a\b\c\d\e\f\g\h\i\j\k\l\m\n\o\p\q\r\s\t\u\v\w\x\y\z
%% Digits \0\1\2\3\4\5\6\7\8\9
%% Exclamation \! Double quote \" Hash (number) \#
%% Dollar \$ Percent \% Ampersand \&
%% Acute accent \' Left paren \( Right paren \)
%% Asterisk \* Plus \+ Comma \,
%% Minus \- Point \. Solidus \/
%% Colon \: Semicolon \; Less than \<
%% Equals \= Greater than \> Question mark \?
%% Commercial at \@ Left bracket \[ Backslash \\
%% Right bracket \] Circumflex \^ Underscore \_
%% Grave accent \` Left brace \{ Vertical bar \|
%% Right brace \} Tilde \~}
\endinput
%% End of file `amstex.sty'.